
import api from '@/util/request'
import { PREFIX } from '@/constant/const'
const urlcode = PREFIX.urlCode // 来源数据中台
const reimburseUrl = PREFIX.reimburse // 来源报账平台

// 获取枚举列表
export function dictsList(params) {
    return api.get(urlcode + '/dict/page', {params})
}

// 新增枚举
export function addDict(data) {
    return api.post(urlcode + '/dict/add', data)
}

// 根据ID获取枚举详情
export function getDictDetail(data) {
    return api.get(urlcode + '/dict/findById/' + data)
}

// 根据枚举编码获取枚举
export function getByTypeCode(params) {
    return api.get(urlcode + '/dict/getByTypeCode', {params})
}

// 编辑枚举详情
export function editDictDetail(data) {
    return api.post(urlcode + '/dict/update', data)
}

// 刪除枚举
export function deleteDict(data) {
    return api.delete(urlcode + '/dict/delete/' + data)
}

// 获取树形分类字典列表
export function getTreeDictsList(params) {
    return api.get(urlcode + '/treedicts/table', {params})
}

// 新增树形分类字典列表
export function addTreeDict(data) {
    return api.post(urlcode + '/treedicts/addTreeDict', data)
}

// 树形分类字典列表子节点查询
export function getTreeDictsClid(params) {
    return api.get(urlcode + '/treedicts/' + params + '/children')
}

// 树形分类字典列表节点查询
export function getTreeDictsById(params) {
    return api.get(urlcode + '/treedicts/' + params + '/query')
}

// 修改树形分类字典
export function editTreeDicts(data) {
    return api.put(urlcode + '/treedicts/'+ data.id +'/update', data)
}

// 刪除树形分类字典
export function deleteTreeDicts(params) {
    return api.delete(urlcode + '/treedicts/delete', {params})
}

// 导入树形分类字典
export function excelTreeDicts(data) {
    return api.post(urlcode + '/treedicts/import/excel', data)
}

// 获取公司列表
export function getOrgTreeList(params) {
    return api.get(urlcode + '/biz/org/page', {params})
}

// 新增公司
export function addOrgTree(data) {
    return api.post(urlcode + '/biz/org/insert', data)
}

// 删除公司
export function deleteOrgTree(params) {
    return api.delete(urlcode + '/biz/org/batch/delete', {params})
}

// 修改公司
export function editOrgTree(data) {
    return api.put(urlcode + '/biz/org/'+ data.id +'/update', data)
}

// 导入公司
export function excelOrgTree(data) {
    return api.post(urlcode + '/biz/org/import/excel', data)
}

// 通过编码或者名字查询组织
export function getOrgName(params) {
    return api.get(urlcode + '/biz/org/listByCodeOrName', {params})
}

// PASSPORT编码查询公司
export function getPassPortOrg(params) {
    return api.get(urlcode + '/biz/org/passport/'+ params +'/query')
}

// 获取所有本地数据表名
export function getLocalTable(params) {
    return api.get(urlcode + '/basic/config/all/local-table', {params})
}

// 获取所有数据源表名
export function getAllTable(params) {
    return api.get(urlcode + '/basic/config/all/names', {params})
}

// 根据数据源-业务配置id获取字段值所有内容
export function getDetailById(params) {
    return api.get(urlcode + '/basic/config/field/value/' + params)
}

//根据业务类型配置id或数据源配置ID查询字段关系
export function getDetailBylocalName(params) {
    return api.get(urlcode + '/basic/config/find/local/relations/' + params)
}

// 查询所有业务类型配置
export function getAllBusiness(params) {
    return api.get(urlcode + '/basic/config/find/all/business', {params})
}

// 根据业务类型配置id或数据源配置ID查询字段关系
export function getDetailBySourceId(params) {
    return api.get(urlcode + '/basic/config/find/metaRelations/' + params)
}

// 获取模板excel，根据数据源-业务类型ID
export function getTempBySourceId(params) {
    return api({
        url: urlcode + '/basic/config/find/temp/' + params,
        method: 'get',
        responseType: 'blob',
        isResponse: false
    })
}

// 创建基础表数据
export function createTable(data) {
    return api.post(urlcode + '/basic/config/create', data)
}

// 数据转换接口
export function convertTable(data) {
    return api.post(urlcode + '/basic/config/data/convert', data)
}

// 数据批量转换接口
export function convertListTable(data) {
    return api.post(urlcode + '/basic/config/data/convert/list', data)
}

// 根据数据源id及条件获取字段值内容
export function getConditionById(data) {
    return api.post(urlcode + '/basic/config/field/value/condition', data)
}

// 查询配置，根据条件分页查询
export function getConditionList(data) {
    return api.post(urlcode + '/basic/config/find/condition', data)
}

// 导入字段数据
export function importTable(data) {
    return api({
        url: urlcode + '/basic/config/import',
        method: 'post',
        data: data,
        // responseType: 'blob',
        // isResponse: false
    })
}

// 插入字段关系,关联外部数据
export function insertFieldTable(data) {
    return api.post(urlcode + '/basic/config/insert/field-data', data)
}

// 分页查询业务子类
export function getBusinessCondition(data) {
    return api.post(urlcode + '/basic/config/sub/business/condition', data)
}

// 数据源中的数据，新增单个数据值
export function createDataValue(data) {
    return api.post(urlcode + '/basic/config/field/value/create', data)
}

// 数据源中的数据，修改单个数据值,map中必须有id
export function updateDataValue(data) {
    return api.post(urlcode + '/basic/config/field/value/update', data)
}

// 更新基础表数据
export function updateTable(data) {
    return api.put(urlcode + '/basic/config/update', data)
}

// 删除数据源表
export function deleteTable(data) {
    return api.delete(urlcode + '/basic/config/delete/' + data)
}

// 删除数据源表值
export function deleteTableValue(data) {
    return api.delete(urlcode + '/basic/config/field/source/' + data)
}

// 删除数据源表值
export function deleteTableValueByIds(params) {
    return api.delete(urlcode + '/basic/config/field/value', {params})
}

// 公司银行信息分页查询
export function getCompanyBankList(params) {
    return api.get(urlcode + '/settle-accounts/page', {params})
}

// 公司银行信息新增
export function addCompanyBank(data) {
    return api.post(urlcode + '/settle-accounts', data)
}

// 更新公司银行信息
export function updateCompanyBank(data) {
    return api.put(urlcode + '/settle-accounts', data)
}

// 公司银行信息导出
export function downCompanyBank(params) {
    return api({
        url: urlcode + '/settle-accounts/export',
        method: 'get',
        params: params,
        responseType: 'blob',
        isResponse: false
    })
}

// 公司银行信息导入 responseType: 'blob'
export function importCompanyBank(data) {
    return api({
        url: urlcode + '/settle-accounts/import',
        method: 'post',
        data: data,
        // responseType: 'blob',
        // isResponse: false
    })
}

// 根据id获取单条记录公司银行信息
export function getByIdCompanyBank(params) {
    return api.get(urlcode + '/settle-accounts/' + {params})
}

// 根据id更新为默认
export function updateByIdCompanyBank(data) {
    return api.patch(urlcode + '/settle-accounts/' + data)
}

// 删除公司银行信息
export function deleteByIdCompanyBank(data) {
    return api.delete(urlcode + '/settle-accounts/' + data)
}

// 查询所有利润中心
export function getProfitCenterList(params) {
    return api.get(urlcode + '/profit-centers/top-like', {params})
}

// 查询所有银行
export function getBanksList(params) {
    return api.get(urlcode + '/banks/top-center-like', {params})
}

// 查询所有分行
export function getNetBanksList(params) {
    return api.get(urlcode + '/banks/top-net-like', {params})
}

// 查询所有科目列表
export function getSubjectList(params) {
    return api.get(urlcode + '/acct/company/subject/system/page', {params})
}

//城市管理列表
export function cityMangerList(params) {
    return api.get(reimburseUrl + '/address-areas/list', { params })
}
// 城市管理新增
export function cityMangerAdd(data) {
    return api.post(reimburseUrl + '/address-areas', data)
}

// 城市管理编辑
export function cityMangerEdit(data) {
    return api.put(reimburseUrl + '/address-areas', data)
}

// 城市管理删除
export function cityMangerDelete(data) {
    return api.delete(reimburseUrl + `/address-areas/${data.id}`)
}

// 本地表名查询关联外部数据源
export function getTableColumnsDetail(params) {
    return api.get(urlcode + `/basic/config/find/metaRelationTableName/${params.tableName}`)
}

// 根据本地表名查询对应字段
export function getTableColumnsByTableName(params) {
    return api.get(urlcode + '/basic/config/getTableColumnsByTableName', {params})
}

// 关联外部数据源删除
export function outDataDelete(data) {
    return api.delete(urlcode + `/basic/config/delete/metaFieldRelation/${data.id}`)
}